// 要实现单例模式就是 用一个变量来标志当前是否已经为某个类创建过对象 
// 如果是则在下一次获取该类的实例时 直接返回之前创建的对象

var Singleton = function(name) {
    this.name = name;
    // 单例模式的对象 是否有创建过对象就是靠这个实例对象来判断
    this.instance = null;
}   

Singleton.prototype.getName = function() {
    alert(this.name);
}

Singleton.prototype.getInstance = function(name) {
    // 如果实例不存在 则创建一个新的实例
    if(!this.instance) {
        this.instance = new Singleton(name);
    }
    return this.instance;
}

// 单例模式的测试

var a = Singleton.getInstance('aa');
var b = Singleton.getInstance('bb');

alert(a === b);    // true